The invention relates generally to oscillators and relates more particularly to power conservation in systems relying upon oscillators.
In recent years enormous efforts have been expended to try to save power in battery-powered devices such as personal computers and PDAs (personal digital assistants). The designer of such a system faces the constraint that the system invariably requires at least one oscillator to provide clock signals for clocked circuitry such as a microcontroller or microprocessor. In a typical arrangement the oscillator is external to the microcontroller or microprocessor.
It is well known to conserve power by having the microcontroller or microprocessor go to xe2x80x9csleepxe2x80x9d from time to time. For example, if a microcontroller is employed to receive human input at a keyboard or pointing device, it is well known to have the microcontroller go to xe2x80x9csleepxe2x80x9d between keystrokes or other input. This may, for example, be carried out as described In U.S. Pat. No. 5,585,792 entitled xe2x80x9cEnergy-saving keyboard,xe2x80x9d assigned to the same assignee as the assignee of the present invention, incorporated herein by reference.
The diligent system designer who takes the well-known step of putting a microcontroller to xe2x80x9csleepxe2x80x9d during intervals of inactivity will, however, find that even if the microcontroller is put to sleep, an external oscillator will continue to consume power. In a typical duty cycle where the microcontroller is asleep most of the time, such power consumption in the oscillator turns out to be a chief component of the energy budget. Stated differently, if only there were a way to shut down the oscillator during periods of inactivity this could greatly extend battery life.
Experience shows, however, that most of the ways in which one might be tempted to try to shut down an external oscillator have drawbacks. Any of a number of events may prompt the microcontroller to try to awaken, yet an actual awakening of the microcontroller is only able to happen if the oscillator resumes oscillation promptly as well.
It is disclosed in the above-referenced international patent application number PCT/US01/02758 designating the United States, published as PCT publication number WO 01/56145, to provide an external oscillator for a microcontroller (or microprocessor) which makes informed use of a signal from the microcontroller so as to selectively turn the oscillator on and off. When the microcontroller goes to sleep, the oscillator follows by going to sleep. Later when the microcontroller awakens, the oscillator follows by reawakening.
This may be seen, for example, in FIG. 4 of the previously mentioned international patent application, reproduced herein as FIG. 1. An external oscillator circuit such as illustrated in FIG. 1 herein will stop Its oscillation as soon as the clock output 52 from the host microcontroller stops switching.
Experience has shown, however, that externally induced noise on the clock output line 52 may temporarily disable it, which will be erroneously interpreted by the oscillator circuit as the Stop condition. This is an undesirable situation.
A system designer attempting to provide the benefits of a stoppable oscillator may find that the only clock output signal available from a host microcontroller happens to be divided down from the oscillator signal. Stated differently, it may develop that the clock output signal available from the host microcontroller is a lower frequency than the oscillator frequency. It would be desirable to provide an external oscillator which, even in such an application, nonetheless provides power conservation benefits by stopping during most, if not all, of the time that the host microcontroller is sleeping.
The designer of an oscillator system may likewise wish to provide a single-chip oscillator system which is versatile enough not only to provide a selectively stoppable oscillator for power conservation with microcontrollers that sometimes go to sleep, but also to provide an oscillator which would have a continuous oscillator output in other applications. If the oscillator is to provide the latter of these two functionalities, such a mode of operations can be easily controlled by an internal nonvolatile memory/control bit or an extra input control pin. However both of these methods are less then perfect, as a memory bit will require programming, and an extra pin may increase the cost of the device.
Those skilled in the art will also appreciate that nonvolatile memory bits are limited in number and cost money. It is thus desirable to design systems to minimize the number of nonvolatile memory bits required in such systems.
It would thus be extremely helpful if it were possible to provide an oscillator which has some level of immunity from the problem of spurious entry into a xe2x80x9cstopxe2x80x9d condition even in the face of externally induced noise. It would thus likewise be extremely helpful if it were possible to provide a single-chip oscillator which is versatile enough that it can provide a continuous-operation mode without the need of an extra memory bit or an extra pin for selection of such a mode.
An improved oscillator system has a control logic block which has an input from an external device to which clock is being provided. The input controls a counter which counts cycles from the oscillator. If some predetermined number of cycles has passed in the absence of a predetermined input condition, then the oscillator halts, thus reducing power consumption by the oscillator system. Later, upon the predetermined input condition, the oscillator resumes oscillation. The system has improved noise immunity and permits a continuous-oscillation mode without the need of an extra pin or memory bit. The control logic block may also employ a counter which counts the number of times the predetermined input condition has occurred, and only after some predetermined number of occurrences does the oscillator-halting activity take place.